home *** CD-ROM | disk | FTP | other *** search
/ Utilities Professional 1-1500 / Utilities Professional 1-1500 (1994)(WPD)[!].iso / 07511000 / var0784.dms / var0784.adf / McC / mcc.doc < prev    next >
Text File  |  1978-01-24  |  10KB  |  217 lines

  1.  
  2.  
  3.                                McC - Version 2.0
  4.                                       By
  5.                                John H. McClennan
  6.  
  7.                                February 20, 1989
  8.  
  9.  
  10.  
  11. Introduction:
  12.  
  13.    McC is a set of ARexx macros that create an integrated compile/edit
  14. enviroment using TxEd Plus and the Lattice C compiler.  Version 2.0 of
  15. McC is intended for use with Version 5.0 of the Lattice C compiler although
  16. it should also work fine with earlier versions of the compiler (this has
  17. not been tested, however).  In addition to the ARexx macros, Version 2.0 of
  18. McC also includes a small filter program written in C.  This filter is used
  19. to remove the control codes that the compiler uses to highlight errors when
  20. the output from the compiler is sent to the standard output stream.
  21.  
  22.  
  23. Installation:
  24.  
  25.    Nine files are included in the distribution of McC Version 2.0.  They
  26. are:
  27.  
  28.       mcc.rexx       - This is the ARexx macro invoked to set up the
  29.                        integrated enviroment.
  30.  
  31.       mcc1.txed      - This is the ARexx macro called from TxEd in order
  32.                        to invoke the compiler.
  33.  
  34.       mccnext.txed   - This ARexx macro is called from TxEd in order to
  35.                        advance to the next compilation error.
  36.  
  37.       mccopts.txed   - This ARexx macro is called from TxEd in order to
  38.                        redefine the compiler options.
  39.  
  40.       mccstmain.txed - This is the McC startup macro for the main edit
  41.                        window.  The standard TxEd startup macro,
  42.                        startup.txed, is called by this macro so any 
  43.                        modifications you have made to the TxEd options 
  44.                        will be in effect.
  45.  
  46.       mccsterr.txed  - This is the McC startup macro for the compiler
  47.                        error message window.  It also calls startup.txed.  
  48.  
  49.       mccfilt.c      - This is the C source code for the filter to remove
  50.                        the screen control codes from the compiler error
  51.                        output.
  52.  
  53.       mccfilt        - This is the executable version of the filter.
  54.  
  55.         mcc.doc        - The file you are reading now.
  56.  
  57.    All the files ending in .txed and the file mcc.rexx should be copied
  58. into your REXX: directory.  The executable file mccfilt should either be in
  59. your C: directory or your LC: directory.  You may place the file mccfilt.c
  60. anywhere you wish (including the circular file).
  61.  
  62.  
  63. Usage:
  64.  
  65.    McC Version 2.0 works whether called from the CLI, the AmigaDOS V1.3
  66. Shell, or from WShell.  The only difference is in the way the macro is
  67. invoked.  When running McC from the CLI or the V1.3 Shell, you must type
  68. the command "rx mcc" (omit the quotes).  WShell, however, allows the direct
  69. execution of ARexx macros (as well as some other nice things).  To run McC
  70. from WShell, all you must do is type "mcc" at the prompt.
  71.  
  72.    Once the macro has been run, the normal TxEd screen will appear.  At
  73. that time, the editor will attempt to load the file "noname.c".  If such a
  74. file doesn't exist, the message "Can't Open File" will appear in the
  75. window's titlebar.  If you wish to use "noname.c" as your file name, you
  76. can begin to enter your program.  Otherwise, use the normal TxEd commands
  77. to load the file you wish to work on.  The only change that McC makes to
  78. TxEd is the addition of 3 options (and two command key shortcuts) to the
  79. User menu.  In all other aspects TxEd will work the way it normally does.
  80.  
  81.  
  82. Compiling a file:
  83.  
  84.    To compile the file that you have been editing, select the Compile
  85. option from the User menu (or use the keyboard short-cut: Right-Amiga M). 
  86. A window will appear at the bottom of the screen informing you that the
  87. compiler has been invoked and will show the complete path name of the file
  88. being compiled.  When the compilation is complete, a second TxEd window
  89. will appear at the bottom of the screen in the same place that the
  90. compilation status window appeared and the main TxEd edit window containing
  91. your program will have been decreased slightly in height in order to allow
  92. the error window to be visible.  If the program compiled without any
  93. errors, the compiler message "Total files: 1, Compiled OK: 1" will appear
  94. in the error message window.  If an error was detected, the first error
  95. message will be displayed in the error message window and the cursor in the
  96. main edit window will be placed on the line containing the error.
  97.  
  98.  
  99. Correcting errors:
  100.  
  101.    As stated above, if an error is detected in your program by the
  102. compiler, the error description will appear in the error message window and
  103. the cursor in the main edit window will be placed on the line containing
  104. the error.  To advance to the next error that was found, seleced the Next
  105. Error option from the User menu (or use the short-cut: Right-Amiga N).  The
  106. next error message, if there is one, will be displayed and the cursor will
  107. be advanced to the corresponding line.  NOTE:  This is where a problem with
  108. the Next Error option may occur.  If a correction you made for a previous
  109. error required the insertion or deletion of a line (or lines), the cursor
  110. will not be placed on the correct line for the next error when the Next
  111. Error option is selected.  This is due to the fact that McC parses the
  112. compiler error message in order to get the line number that the error
  113. occurred on.  When lines have been added to or deleted from the file, the
  114. line number in the error message will not be correct.  The only way to get
  115. the two back in sync is to recompile the file.
  116.  
  117.  
  118. Setting the compiler options:
  119.  
  120.    The Lattice C V5.0 compiler has an abundance of command line options. 
  121. When it is first run, McC will not pass any options to the compiler.  You
  122. may use the Set Options item in the User menu to set the options you wish
  123. the compiler to use.  When the menu item is selected, a window will appear
  124. over the error message window.  It will display the options currently in
  125. effect and prompt you to enter the new options list.  NOTE:  the new option
  126. list supersedes the old one, it is not concatenated to it.
  127.  
  128.  
  129. Opening other windows:
  130.  
  131.    You can use the standard TxEd option to open a new window from within
  132. either the McC main edit window or the error message window.  Note,
  133. however, the only the main edit window opened by McC when it is run will
  134. contain the additional menu options allowing the integrated enviroment.  If
  135. this window is closed, it will not be possible to reopen it without
  136. re-running the McC macro.
  137.  
  138.  
  139. Editing other files:
  140.  
  141.    You can edit a new file by using the Open command in the Project menu
  142. while the main edit window is active.  The new file will replace the one
  143. you were currently editing.
  144.  
  145.  
  146. Exiting McC:
  147.  
  148.    Exit from the McC enviroment the same way you would from a normal TxEd
  149. edit session by selecting the QUIT option (Right-Amiga Q) from the Project
  150. menu.  You will have to close both the main edit and the error message
  151. windows.  When the windows close, you will notice that one (or more) of the
  152. Lattice C compiler header messages will be displayed in the CLI (or Shell
  153. or WShell) window.  Simply press return and the prompt will reappear.
  154.  
  155.  
  156. Using McC with other compilers:
  157.  
  158.    It should not be difficult to modify McC Version 2.0 to work with
  159. compilers other than Lattice C V5.0.  Lines 41-44 in the file mcc1.txed are
  160. the lines that invoke the compiler and are all that should have to be
  161. changed in order to invoke a different compiler.  A slightly more difficult
  162. (but not much more) would be the changes needed to the file mccnext.txed
  163. which is used to parse the error messages in order to find where to
  164. position the cursor.  The parser would have to be changed to reflect the
  165. way your compiler's error messages are output.
  166.  
  167.  
  168. Using McC with other editors:
  169.  
  170.    When McC was first written, TxEd Plus was the only editor that had an
  171. ARexx interface.  Now, however, there are a number of editors that support
  172. ARexx and some attention must be given towards modifying McC to work with
  173. them.  It should not be that difficult since most of the editor commands
  174. used by McC are at the very general level (e.g. move to line n) and should
  175. have counterparts in other editors.  The only two places where problems
  176. might occur are in the status and window commands.  The status command is
  177. used to get the current directory path for editor data files and to get the
  178. editor's ARexx port name.  If there is a corresponding command in other
  179. editors' macro languages, it should be possible to sucessfully modify McC.
  180. If there is no corresponding command, it would be extremely difficult, if
  181. not impossible, to sucessfully modify McC.  The window command is used to
  182. modify the sizes and locations of the main edit and error message windows. 
  183. The absence of a corresponding command would not prevent McC from being
  184. successfully modified, but would lead to an interface that wasn't as nice
  185. as the automatic sizing and positioning of windows available using TxEd. 
  186. As a final note, I do not have any other editors that support ARexx so the
  187. above is just my observations on possible pitfalls in converting McC to
  188. work with other editors.
  189.  
  190.  
  191. Changes in Version 2.0 with respect to Version 1.3:
  192.  
  193.    1.  Version 2.0 is now optimized to work with Lattice C Version 5.0.
  194.        This has added a little bit of complexity to the internal invocation
  195.        of the compiler (and the creation of a new temp file in ram: which
  196.        is deleted after use) due to the need to remove the reverse video
  197.        and other control codes that look so nice when output is send to
  198.        the CLI screen but just looks like garbage when view from within
  199.        TxEd.  None of this additional complexity is visible to the user,
  200.        however.
  201.  
  202.    2.  A new, more attractive format for the positioning of the main edit,
  203.        error message, and status windows has been adopted.
  204.  
  205.    3.  An improved error checking scheme has been implemented to handle
  206.        the two McC windows.
  207.  
  208.  
  209. Bug reports and comments:
  210.  
  211.    Any bug reports or comments can be sent to me via BIXmail to jmcclennan
  212. or paper (yechh!!) mail to:
  213.  
  214.                               John H. McClennan
  215.                               65 Bonney Dr.
  216.                               Holliston, MA  01746
  217.